1. Field of the Invention
The invention relates to electronic communication networks and more particularly to a system and method for scheduling and executing data transfers over these networks.
2. Background Information
As illustrated in prior art FIG. 1, a communication network 100 includes devices such as receivers 110, senders 120, and intermediaries 150 connected through communication channels 130 to a network 140. In some embodiments, receiver 110 and sender 120 are a network client and network server respectively. Intermediary 150 serves as a transmission node between various parts of communication network 100 and optionally includes a local storage 160 capable of storing data.
Communication between the devices in communication network 100 is typically managed using a series of software and hardware systems. Data is often transferred using standards such as TCP (Transmission Control Protocol) over IP (Internet Protocol). Each device and communication channel 130 has limited bandwidth and storage capacities. When these resources are shared by multiple parties the available bandwidth and storage space can vary dynamically.
Typical data transfers occur directly after a request from receiver 110. A user at receiver 110 requests a transfer of data, for example a software program, from sender 120 via a website. Sender 120 then begins sending the requested data directly after receipt of the request, with no consideration of available resources at receiver 110. For example, the user at receiver 110 is responsible for determining that there is adequate storage space at receiver 110 for the requested data. In addition, the user at receiver 110 typically does not have accurate a priori knowledge of how much time is needed to complete the data transfer. Any time estimate provided by sender 120 usually only reflects the size of the data file, and does not take into account any bandwidth limitations at sender 120, receiver 110, or elsewhere in network 140.